具有 TLB 和 Cache 的多级存储系统的访存
这里我们以请求分页存储管理方式来说明 TLB 和 Cache 相互配合的逻辑。一个很大的麻烦是 TLB 和 Cache 都是为了解决 CPU 和主存速度不一致的问题而提出的,故而可能会有人以为这两个硬件是同一个硬件,或者是互相包含的关系。但是事实不是这样的:
- TLB 专注的是虚拟地址转化为物理地址这个过程。也就是在 MMU 中的操作。主要与内存中的页表进行交互。
- Cache 主要关注经过虚拟地址转化后,优化从内存根据物理地址(存放在 MAR 中)中取数据的过程。
一图胜千言:

解读
- 需要注意的是页表位于 PCB 中,是独属于进程的,页表中存储的是虚拟地址到物理页框的映射,我们可以通过访问页表形成物理地址。